一、配置内存

  • sp_configure "max memory",mmm (单位为2k) 配置sybase使用mmm*2k内存,通常配置为系统内存的70-75%
  • 比如有2G内存的机器,要分配1.4G给ASE数据库,就需要设为700000
  • 这里需要说明的是32为的操作系统,由于32位寻址的原因,操作系统(如Windows-x86)给数据库最多1.6G,即使有4G以上的物理内存,这里也只能用到1.6G
  • sp_configure "allocate max shared mem",1
  • 启动就分配最大内存,在有多个程序的时候我特别建议使用,不然如果其他程序占了内存,数据库运行中ASE可能报错
  • max memory生效后,配置data cache: sp_cacheconfig "default data cache","xxxM"
  • 一般为max memory的50%,以M为单位,在上例中,1.4G的max memory,700M给ASE是比较合适的
  • procedure cache: sp_configure "procedure cache size",yyy
  • 一般为max memory的20%,以2k为单位,在上例中,1.4G的max memory,280000比较合适

二、配置引擎

  • sp_configure "max online engines",n
  • 这里所说的引擎是就是通俗所说的CPU,不过有几点需要说明:
    1. 如果这是一个超线程的CPU,建议把超线程关闭,超线程在数据库运行中没有作用,反而可能带来负面的影响
    2. 这里说的引擎是CPU中处理器的总数,比如有2颗4核CPU的服务器,n应该为8
  • sp_configure "number of engines at startup",m
  • 假设这台服务器只是用来运行数据库,启动时的引擎数m的一般规律是:
    1. 如果引擎n=1,2,那么m=n一样,为1,2.
    2. 如果引擎n=3,4,5,那么m=n-1,即2,3,4。
    3. 如果引擎n>=6,那么m=n-2

三、其它参数

  • 锁数目:sp_configure "number of locks",100000
  • 如果用到行锁,一般初始设置为10万或更高,当发现错误日志中锁数目不够时在扩,它是一个动态参数,立即可以生效
  • 用户连接数:sp_configure "number of user connections",50
  • 打开的对象数:sp_configure "number of open objects",5000
  • 打开索引数:sp_configure "number of open indexex",5000
  • 设备数:sp_configure "number of devices",256
  • 对于ASE 15来说还有分区数:sp_configure "number of open partitions",5000

以上都是数据库安装后必须设的,并不完全。其他配置参数,以及这些参数的细化,需要根据应用和服务器的设置来调整